/*
 *  Cat.h
 *  pr1
 *
 *  Created by Javier Quevedo on 25/01/09.
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
 *
 */

#import "Node.h"
#import "Model.h"
#if defined(WIN32)
#include <GL/glut.h>
#else
#include <GLUT/glut.h>
#endif

typedef enum CatState {
	CS_Walk = 0,
	CS_Jump = 1,
	CS_Lay = 2,
	CS_Stop = 3
} CatState;

typedef struct Cat {
	Node *main;
	Node *body;
	Node *leftEye;
	Node *rightEye;
	Node *leftHand;
	Node *rightHand;
	Node *leftLeg;
	Node *rightLeg;
	Node *nose;
	Node *tail;
	Node *teeth;
	Node *whiskers;
	
	GLfloat position[3];
	GLfloat velocity[3];
	GLfloat acceleration[3];
	GLfloat size[3];

	char **files;
	Model *model;
	enum CatState state;
}Cat;


Cat* initCat();
void releaseCat(Cat *_cat);
void setCatSize(Cat *_cat, GLfloat _catSize);
